package com.example.dml.observer_pattern;

import java.util.Observable;

/**
 * @Authors：gaoyang
 * @CreateTime：2021-11-01
 * @Description：观察者模式
 * 定义了对象之间的一对多依赖，让多个观察者对象同时监听一个主体对象
 * 当主体对象发送变化时，他的所有依赖者（观察者）都会收到通知并更新
 */
public class Gper extends Observable {

    private String name = "GPer生态圈";
    private static Gper gper = null;
    private Gper(){}

    public static Gper getInstance(){
        if (null==gper){
            gper = new Gper();
        }
        return gper;
    }

    public String getName() {
        return name;
    }

    public void publishQuestion(Gper gper, Question question){
        System.out.println(question.getUsername()+"在"+this.name+"上提交一个问题");
        setChanged();
        notifyObservers();
    }
}
